package com.techsoul.module.accounting.pojo.param;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.techsoul.common.core.pojo.param.BaseSearchParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
    
/**
 * 销售价格配置基础，用于配置价格，产生最后结算。 查询参数
 * 
 * @author liuen
 * @date 2021-04-11
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class MaterialSalesPriceSearchParam extends BaseSearchParam {

    @ApiModelProperty("是按sku")
    private String settleUnitType;

    @ApiModelProperty("销售客户")
    private String customerNo;

    @ApiModelProperty("结算按spuid")
    private String spuId;

    @ApiModelProperty("结算按skuid")
    private String skuId;

    @ApiModelProperty("结算按goodGroupId")
    private String goodGroupId;

    @ApiModelProperty("单品还是组合")
    private String groupOrSpu;

    @ApiModelProperty("结算价格")
    private BigDecimal settlePrice;

    @ApiModelProperty("应用时间开始")
    private Date applyDate;

    @ApiModelProperty("有效期至")
    private Date effectUntilDate;

    @ApiModelProperty("结算单位名称")
    private String unitName;

    @ApiModelProperty("分类ID")
    private String categoryId;

    @ApiModelProperty("分类名称")
    private String categoryName;

    @ApiModelProperty("品牌ID")
    private String brandId;

    @ApiModelProperty("品牌名称")
    private String brandName;

    @ApiModelProperty("产品规格")
    private String materialGuige;

    @ApiModelProperty("结算维度1")
    private String dimensionOne;

    @ApiModelProperty("结算维度2")
    private String dimensionTwo;

    @ApiModelProperty("结算维度3")
    private String dimensionThree;

    @ApiModelProperty("结算维度4")
    private String dimensionFour;

    @ApiModelProperty("结算维度5")
    private String dimensionFive;

    @ApiModelProperty("结算维度6")
    private String dimensionSix;

    @ApiModelProperty("结算维度7")
    private String dimensionSeven;

    @ApiModelProperty("结算维度8")
    private String dimension;

    @ApiModelProperty("结算基于，QTY(SKU) PACK (SPU), VOL (体积）WEIGHT(重量)")
    private String settleBy;

    @ApiModelProperty("订单数量")
    private Long wholeSaleQuantity;

    @ApiModelProperty("$是直接价格 %表示是采购价的百分比")
    private String priceDefType;

    @ApiModelProperty("采购价格配置表的主键")
    private String buyPriceDefId;

    @ApiModelProperty("price_def_type不为$，这个字段不可为空")
    private String priceSettlePercentage;

    @ApiModelProperty("里程价格")
    private Double custMileSalesPrice;

    @ApiModelProperty("店铺")
    private String storeId;

    @ApiModelProperty("商品映射编码") //有
    private String materialMapId;
    @ApiModelProperty("域")
    private String site;
}
